var Sender = {
    //------------public_var---------//
    
    
    
    
    
    //------------public_method------//
    
    
    init: function () {
        if (this.isActive) {
            this._linkMessage = $('#message');
            this._event();
        } else {
            // Для гостей
        }
    },
    
    
    
    paste: function (user) {    // вставка тега при нажатии на ник
        this.textArea += "[b]" + user + "[/b]\n";
    },
    
    
    get textArea () {   // извлечение с текстового поля
        return this._linkMessage.val();
    },
    
    
    set textArea (v) {  // запись в текстовое поле
        this._linkMessage.val(v);
    },
    
    
    get isActive () {       // Проверка на авторизацию, не надежно но во многих случаях укажет (Каждый раз просить в сайта это жирно)
        // надо в будущем добавить в память localStorage['auth'] и регулировать при запуске в background.js
        return localStorage['nick'] ? true : false;
    },


    send: function (id) {
        $.getJSON('http://wapinet.ru/forum/ajax.server.php?informer&method=setMessage&topicId=' + id + '&message=' + this._urlencode(this.textArea), function (arr) {
            if (arr.status === true) {
                $("#send").text('Отправлено');
                setTimeout(window.close, 1500);
            } else {
                $("#send").text('Ошибка');
            }
        }).error(function () {
            $('#subject').text('Невозможно подключиться к форуму');
        });
    },
    
    
    
    //---------private_method----------//
    _event: function () {
        $("#user").click(function () {
            Sender._actionBottom = 1;
            Sender._linkMessage.slideDown(function () {
                window.scrollTo(0, $(document.body).height());
            });
            Sender.paste($(this).text());
            Sender._linkMessage.focus();
            window.scrollTo(0, $(document.body).height());
        });
        $("#send").click(function () {
            if (Sender._actionBottom++ == 0) {
                Sender._linkMessage.slideDown();
            } else {
                Sender.send(topicId);
            }
        });
        Sender._linkMessage.keyup(function () {
            var key = event.keyCode;
            //console.log(key);
            //console.log(event.ctrlKey);
            if (key === 10 || (event.ctrlKey && key === 13)) {// Ctrl+Enter Send
                return Sender.send(topicId);
            }
            if (key === 13 || key === 8) {
                var string = Sender.textArea.split('\n').length;
                
                if (string > 2) {
                    if (string <= 8) {
                        Sender._linkMessage.attr('rows', string);
                    } else {
                        Sender._linkMessage.attr('rows', 8);
                    }
                } else {
                    Sender._linkMessage.attr('rows', 2);
                }
                
                window.scrollTo(0, $(document.body).height());
            }
        });
    },


    _urlencode: function (str) { // discuss at: http://phpjs.org/functions/urlencode
        str = (str + '').toString();
        return window.encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
        replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
    },
    //---------private_var------------//
    _linkMessage: "",
    _actionBottom: 0
};